BlogHow to

10 Docker Containers Every Homelabber Should Run

There are thousands of Docker containers that you could potentially run on your server. While I haven’t run anywhere near all of them, here are 10 containers that I simply can’t live without in my homelab, and why I think you should run them too.

Related

Docker for Beginners: Everything You Need to Know

Learn to use this incredibly popular development tool.

10

Homepage (A Dashboard of All Your Home Services)

A homelab dashboard is something that I never thought I needed—until I set one up.

homepage-docker-container
Homepage

With Homepage, you’ll get a simple, easy-to-use homelab dashboard. It’s configured with YAML and is pretty straightforward to add new services, backgrounds, categories, and more. Homepage is now something that I use daily, if not multiple times per day to access my self-hosted services.

I’m able to set icons based on the service, alongside a name and description. Some services even support widgets so I can see if my Plex server is in use, or if there are any of my Pterodactyl game servers down at the time. With the categories, I can even separate the services by which system they’re running on, though I do plan to categorize them by actual app category in the future.

9

Home Assistant (Smart Home Manager)

Home Assistant is pretty well-known in the smart home and homelab worlds. However, recently I migrated my Home Assistant install to Docker, and it’s been one of the best decisions ever for me.

Home Assistant logo with smart lights in background.
Justin Duino / Corbin Davenport / How-To Geek

With Home Assistant, you’re able to unify your entire smart home setup under one roof. It supports a vast array of manufacturers, which is why I love it so much. Home Assistant also has an extremely robust automations system, and even can integrate non-HomeKit devices into HomeKit.

Related

What Is Home Assistant? And Why Isn’t Everyone Using It?

Get to know this open-source locally-controlled smart home platform.

8

OpenSpeedTest (Self-Hosted Speed Test Server)

At first, I didn’t really know why I’d want to host my own speed test server, but I’ve actually found quite a bit of use with it.

While you can use things like iPerf to test your network speed between computers or computer and server, testing phones isn’t quite that easy. Sometimes I simply want to see what my wireless speed is from my phone to my server, and sometimes I want to test my speed from outside the house.

The OpenSpeedTest web UI showing a speed test in progress.
Patrick Campanale / How-To Geek

Either way I go, OpenSpeedTest is up to the task. When I run it through my reverse proxy, I get WAN speeds. When running via the internal IP, I get LAN speeds. With Wi-Fi 7 and a 2.5G uplink from the server to the router, I can achieve multi-gig speeds over a wireless connection to my server. OpenSpeedTest helps me see just how fast that connection is.

Honestly, this is more for bragging rights than anything else, but it’s still a fun Docker container to run none-the-less.

Where do I start with Plex? It’s a staple of the homelab community and something that I think everyone should run on one of their computers. Whether you have a vast DVD and Blu-ray library that needs to be digitized, or simply want to access your home movies from years gone past, Plex is the best way to organize that.

I’ve tried Jellyfin too, and Plex still wins out for me. The user management is fantastic, remote access is easier, and overall, it’s just prettier. Even if you choose not to run Plex, every homelab should have some form of a media server running somewhere.

Related

What Is Plex and How Does It Work?

Streaming services are just as expensive as cable. So, why not make your own streaming service with Plex?

6

Portainer (Docker Management Web GUI)

Since you’re already running Docker containers, why not make them easier to manage? When I used Unraid as my primary Docker host, it had a nice web interface that let me easily manage my containers and update them. Without Unraid, Docker typically just runs in a command line.

The Portainer dashboard showing a running Docker instance.
Patrick Campanale / How-To Geek

Don’t get me wrong, I love command lines as much as the next guy. However, to maintain 30+ Docker containers, their ports, settings, and other related things, I want a nice GUI. That’s where Portainer comes in.

You can spin up Portainer as a Docker container on your Docker host, and it’ll let you manage everything about your other containers. It supports both traditional Docker launches and Docker Compose, and it’s ran flawlessly for me for multiple months since I spun up the first instance.

5

Tautulli (Plex Info Tracker)

While I love Plex, the information gathered by the stock Plex app just isn’t all that great. That’s where Tautulli comes in.

The main page of the Tautulli Plex tracker showing watch time statistics.
Tautulli

With Tautulli, I’m able to see not only what other users are watching, but also very detailed information about the stream. What media container it’s using, exact quality profile it’s using, and more. That’s not really where Tautulli shines though.

Tautulli is a great way to see what’s being watched, how many times a specific show or movie has been watched, and which of your users uses the server the most. While a lot of this information isn’t crucial, it’s nice to have some detailed information as to the usage of your Plex server.

4

Nginx Proxy Manager (Reverse Proxy)

I couldn’t run my homelab without Nginx Proxy Manager. NPM, as it’s called, handles all of my reverse proxy needs.

The Nginx Proxy Manager proxy hosts screen showing domains in use by the reverse proxy.
Nginx Proxy Manager

Think of NPM as a web GUI for nginx, but with extra features. It handles all of your config settings, generating and using SSL certificates, and choosing ports. Instead of me having to navigate to 192.168.0.6:13378 for AudioBookshelf, I just go to audiobooks.mydomain.com and NPM handles the rest on the backend.

If you’re wanting to make any services accessible outside your local network, then check out NPM. It’s simple to set up, easy to use, and delivers tons of features.

3

Pi-Hole (Content Blocker)

Is a homelab really complete without Pi-Hole running somewhere on the network? Mine isn’t, that’s for sure.

Pi-Hole content blocker with the Star Trek LCARS theme applied.
Patrick Campanale / How-To Geek

Pi-hole handles content blocking and filtering at a DNS level. Once set up and configured, you simply point your router’s DNS settings to the Pi-hole’s IP, and you’ll be off to the races. Pi-hole handles all kinds of content blocking and filtering. Yes, it works with ads, but it also allows you to block adult sites on the network with no easy way around it. It’ll also let you use local DNS entries similar to NPM, but without having to be accessed from outside the network.

Related

Why I Run 2 Pi-Hole Instances (and How I Keep Them Synced)

Even my local DNS server is redundant.

Pi-hole has many benefits, and is so easy to use. It deploys on Docker with a quick command and just sits there, running in the background, ready to handle your content filtering needs.

2

audiobookshelf (Self-Hosted Audible Alternative)

audiobookshelf is a newer addition to my self-hosted stack, but one that I’ve quickly learned I can’t live without.

The home page of audiobookshelf showing one book in progress with other audiobooks below it.
audiobookshelf

One of my 2025 goals is to listen to more audiobooks. While I’m not a big reader, I don’t mind listening to a book, especially when it’s dramatized. That’s where audiobookshelf comes in.

It is a simple-to-use audiobook server, similar to how Plex is a media server. Yes, Plex supports audiobooks, but it’s nowhere near as robust as audiobookshelf’s implementation.

You can upload MP3 or M4B files to audiobookshelf, and it handles the rest from there. It has an interface for adding chapters, converting multi-file MP3 audiobooks to single-file M4B with all the info embedded, and much more.

I use the Plappa app on iOS to access my audiobookshelf server (through NPM for remote access) and it’s completely replaced Audible for me.

1

Immich (Self-Hosted Google Photos Alternative)

Not everyone wants to let Google spy on their photos, using them to train AI algorithms on visual content. I recently migrated all of my Google Photos to Immich, and I’m not looking back.

The Immich photo backup web app UI shown on mobile and desktop.
Immich

Immich is a self-hosted photos server that has a lot of features very similar to Google Photos and iCloud Photos. With location lookup, history, memories, albums, AI machine learning, and more, Immich is pretty much a drop-in replacement for Google Photos in most workflows. There’s a mobile app for both iOS and Android, letting you back up either remotely or only when on your local network.

Related

How I Ditched Google Photos and Built My Own Photo Server

Goodbye Google.

Overall, Immich is an extremely powerful Google Photos replacement, and it’s not even that difficult to spin up once you have the hang of Docker.


Source link

Related Articles

Back to top button
close